<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2022/9/24
  Time: 9:06
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<head>
    <title>学生展示</title>
    <!-- 注意：项目正式环境请勿引用该地址 -->
    <link rel="stylesheet" href="${pageContext.request.contextPath}/static/layui-v2.7.6/layui/css/layui.css" >
</head>
<body>
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-xs" lay-event="edit" >编辑</a>
       <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>

<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="addStu">添加</button>
        <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
        <button class="layui-btn layui-btn-sm" lay-event="getData">获取当前页数据</button>
        <button class="layui-btn layui-btn-sm" lay-event="isAll">是否全选</button>
    </div>
</script>

<form class="layui-form" action=""  id="saveUserForm" style="display: none"  lay-filter="updateUserFormFilter">
    <input type="hidden" name="id" >
    <input type="hidden" name="updataby" value="${user.id}" >
    <form class="layui-form" enctype="multipart/form-data" action="" >

        <div class="registerbox-title">mht测试回访添加</div>

        <div class="layui-form-item pass" >
            <label class="layui-form-label">回访内容</label>
            <div class="layui-input-inline">
                <input type="text" name="recond"   lay-verify="required" placeholder="请输入回访内容" autocomplete="off"
                       class="layui-input" id="recond">
            </div>
        </div>
        <div class="layui-form-item " >
            <label class="layui-form-label">备注</label>
            <div class="layui-input-inline">
                <input type="text" name="remark"  lay-verify="required" placeholder="请输入备注"
                       autocomplete="off" class="layui-input" id="remark">
            </div>
        </div>

        <div class="layui-form-item">
            <div class="layui-input-block">
                <button class="layui-btn" lay-submit lay-filter="formSaveUser">注册</button>
                <button type="reset" class="layui-btn layui-btn-primary">重置</button>
            </div>
        </div>


    </form>

</form>
    <%----%>


    <%--查询条件--%>
    <form class="layui-form" action="">
        <div class="layui-inline">
            <label class="layui-form-label">测试者名</label>
            <div class="layui-input-inline">
                <input type="te xt" name="rname" placeholder="请输入测试者姓名" autocomplete="off" class="layui-input">
            </div>
        </div>

        <div class="layui-inline">
            <label class="layui-form-label">测试计划名</label>
            <div class="layui-input-inline">
                <input type="te xt" name="pname" placeholder="请输入测试计划名称" autocomplete="off" class="layui-input">
            </div>
        </div>

        <div class="layui-inline">
            <div class="layui-input-inline">
                <button class="layui-btn" lay-submit lay-filter="formDemo">查询</button>
                <button type="reset" class="layui-btn layui-btn-primary">重置</button>
            </div>
        </div>
    </form>
    <table class="layui-hide" id="test" lay-filter = "test"></table>
    <!-- 注意：项目正式环境请勿引用该地址 -->
    <script src="${pageContext.request.contextPath}/static/layui-v2.7.6/layui/layui.js"></script>
    <script src="${pageContext.request.contextPath}/static/jquery-3.6.1.min.js"></script>
    <script>
        $(function () {


            layui.use(['table','layer','form','jquery'], function(){
                var table = layui.table;
                var layer = layui.layer;
                var form = layui.form;
                var $ = layui.jquery;
                var upload = layui.upload
                    , element = layui.element;
                var namestatus=true;

                table.render({
                    // element  元素
                    elem: '#test'
                    ,page:true
                    ,limit:2
                    ,limits:[2,4,6,8]
                    ,toolbar: '#toolbarDemo'
                    ,url:'${pageContext.request.contextPath}/tmhtrecond/query' //  表格了里面所需要的数据就是一个list里面有很多的map、对象
                    ,cellMinWidth: 80 //全局定义常规单元格的最小宽度，layui 2.2.1 新增
                    ,totalRow: true // 开启合计行
                    //传过来的数据进行处理  laydata
                    ,parseData: function (res) {
                        return {
                            "code":res.code,
                            "msg":res.msg,
                            "count": res.data.total,//从返回的json数据中取出总行数
                            "data": res.data.list//返回的json数据有两层，layui不支持多层数据，所以是res.list
                        }
                    }
                    ,cols: [[
                        {type: 'checkbox', fixed: 'left'}
                        // field 后面跟的内容  必须跟后台传过来的数据里面的map 的key保持一致
                        ,{field:'id', title: 'ID', sort: true}
                        ,{field:'rname', title: '姓名'} //width 支持：数字、百分比和不填写。你还可以通过 minWidth 参数局部定义当前单元格的最小宽度，layui 2.2.1 新增
                        ,{field:'planename', title: '计划名称', sort: true}
                        ,{field: 'recond',title: '回访内容',sort: true}
                        ,{field:'remark', title: '备注', sort: true}
                        ,{field:'username', title: '创建者', sort: true}
                        ,{field:'createtime', title: '创建时间', sort: true}
                        ,{field:'uname', title: '修改者', sort: true}
                        ,{field:'updatetime', title: '修改时间', sort: true}
                        ,{fixed: 'right', title:'操作', width: 125, minWidth: 125, toolbar: '#barDemo'}
                    ]]

                });




                // 监听单元格里面的开关
                form.on('switch(switchStatus1)', function(obj){
                    //alert(JSON.stringify(obj));
                    var status=1;
                    if(this.checked){
                        status=1
                    }else{
                        status=2;
                    }
                    // 修改这条数据的状态即可
                    $.ajax({
                        type:"post",
                        data:{id:obj.value,status:status},
                        url:"${pageContext.request.contextPath}/updatas",
                        success:function(d){
                            if(d.code==0){
                                layer.msg("修改成功",{icon:"1"});
                                table.reload('test');
                            }
                        }
                    })

                });

                // 工具栏事件
                table.on('toolbar(test)', function(obj){
                    var uid = obj.config.uid;
                    var checkStatus = table.checkStatus(uid);
                    var othis = lay(this);
                    switch(obj.event){
                        case 'getCheckData':
                            var data = checkStatus.data;
                            layer.alert(layui.util.escape(JSON.stringify(data)));
                            break;
                        case 'getData':
                            var getData = table.getData(id);
                            console.log(getData);
                            layer.alert(layui.util.escape(JSON.stringify(getData)));
                            break;
                        case 'isAll':
                            layer.msg(checkStatus.isAll ? '全选': '未全选')
                            break;
                        case 'addStu':
                            $("#saveUserForm")[0].reset();
                            $(".pass").css("display","block");
                            layer.open({
                                type: 1,
                                area: ['500px', '400px'],
                                offset: '100px',
                                content:$("#saveUserForm"),
                                cancel: function(index, layero){

                                    layer.close(index);
                                    $("#saveUserForm").hide();
                                    return false;
                                }



                            });
                            break;
                    };
                });

                //触发单元格工具事件
                //监听行工具事件
                table.on('tool(test)', function(obj){
                    var data = obj.data;
                    //console.log(obj)
                    if(obj.event === 'edit'){
                        layer.open({
                            type: 1,
                            area: ['500px', '400px'],
                            offset: '100px',
                            content:$("#saveUserForm"),
                            cancel: function (index, layero) {

                                layer.close(index);
                                $("#saveUserForm").hide();
                                return false;
                            }
                        });
                        form.val('updateUserFormFilter',data)
                    }else if (obj.event === 'del'){
                        layer.confirm('真的删除行么', function(index){
                            console.log(obj);
                            //obj.del(); //删除对应行（tr）的DOM结构
                            // 发送ajax请求删除指定数据
                            $.ajax({
                                url:"${pageContext.request.contextPath}//tmhtrecond/delete",
                                type:"POST",
                                dataType:"JSON",
                                data:{"id":obj.data.id},
                                success:function (ret) {
                                    layer.closeAll();
                                    if(ret.data == true){
                                        layer.closeAll();
                                        layer.alert("删除成功")
                                        // layer.closeAll();//关闭对话框
                                        table.reload('demo', {
                                            page: {
                                                curr: 1 //重新从第 1 页开始
                                            }

                                        });
                                    }
                                    //刷新页面
                                    table.reload('test')
                                }
                            });
                            //向服务端发送删除指令
                        });
                    }
                });


                //提交表单
                // Layui提交表单 监听提交  data代表的是form表单里面的所有的内容
                form.on('submit(formSaveUser)', function(data){
                        $.ajax({
                            url:"${pageContext.request.contextPath}/tmhtrecond/update",
                            type:"post",
                            dataType:"JSON",
                            data:data.field,//表单里所有数据
                            success:function (ret){
                                if (ret.data == true){
                                    layer.msg("修改成功",{icon:"1"});
                                    //关闭所有弹框
                                    layer.closeAll();
                                    //隐藏表单
                                    $("#formSaveUser").hide();
                                    //刷新页面
                                    table.reload('test');
                                    $("#saveUserForm").hide();
                                }
                            }
                        })

                    return false;
                });



                //模糊查询
                form.on('submit(formDemo)', function(data){
                    console.log(data.elem) //被执行事件的元素DOM对象，一般为button对象
                    console.log(data.form) //被执行提交的form对象，一般在存在form标签时才会返回
                    console.log(data.field) //当前容器的全部表单字段，名值对形式：{name: value}
                    //alert(JSON.stringify(data.field))
                    table.reload('test', {
                        // where: { //请求参数（注意：这里面的参数可任意定义，并非下面固定的格式）
                        //     searchUserid: data.field.userid //排序字段
                        //     ,searchUsername:data.field.username//排序方式
                        //     }
                        where:data.field,
                        page: {    curr: 1 //重新从第 1 页开始
                        },
                    });

                    return false; //阻止表单跳转。如果需要表单跳转，去掉这段即可。
                });
            });
            //发出ajax请求 角色所有的信息
            $.ajax({
                url:"${pageContext.request.contextPath}/tRole",
                type:"get",
                success:function (d) {
                    var data=d.data;
                    //alert(JSON.stringify(data.list))
                    if(d.code==0){
                        //<option value="0">写作</option>
                        var htmlStr="<option value=''>--请选择--</option>";
                        for (let i = 0; i < data.list.length; i++) {
                            htmlStr+="<option value="+data.list[i].rid+">"+data.list[i].rolename+"</option>"
                        }
                        // alert(htmlStr);
                        $(".roleSelect").html(htmlStr);
                        //重新渲染表单

                        layui.use('form',function () {
                            var form=  layui.form;
                            form.render('select');
                        })

                    }

                },

            });
        })


    </script>

</body>
</html>
